home *** CD-ROM | disk | FTP | other *** search
/ Aminet 22 / Aminet 22 (1997)(GTI - Schatztruhe)[!][Dec 1997].iso / Aminet / dev / e / amigae33a.lha / E_v3.3a / Src.lha / Src / Tools / AmigaLib / boopsi.e < prev    next >
Text File  |  1995-02-28  |  944b  |  42 lines

  1. OPT MODULE
  2. OPT PREPROCESS
  3.  
  4. MODULE 'intuition/classes',
  5.        'intuition/classusr',
  6.        'utility/hooks'
  7.  
  8. EXPORT PROC callHookA(h:PTR TO hook, obj, msg)
  9. -> CallHookPkt would require that caller has the utility library open
  10.   DEF entry
  11.   entry:=h.entry
  12.   MOVE.L h, A0
  13.   MOVE.L msg, A1
  14.   MOVE.L obj, A2
  15.   MOVE.L entry, A3
  16.   JSR (A3)
  17.   MOVE.L D0, entry
  18. ENDPROC entry
  19.  
  20. EXPORT PROC setSuperAttrsA(cl:PTR TO iclass, obj, msg)
  21. ENDPROC doSuperMethodA(cl, obj, [OM_SET, msg, NIL])
  22.  
  23. EXPORT PROC coerceMethodA(cl:PTR TO iclass, obj, msg)
  24.   IF obj AND (cl<>NIL)
  25.     RETURN callHookA(cl.dispatcher, obj, msg)
  26.   ENDIF
  27. ENDPROC NIL
  28.  
  29. EXPORT PROC doSuperMethodA(cl:PTR TO iclass, obj, msg)
  30.   IF obj AND (cl<>NIL)
  31.     RETURN callHookA(cl.super.dispatcher, obj, msg)
  32.   ENDIF
  33. ENDPROC NIL
  34.  
  35. EXPORT PROC doMethodA(obj, msg)
  36.   DEF o:PTR TO object_
  37.   IF obj
  38.     o:=OBJECT_(obj) -> Get real object
  39.     RETURN callHookA(o.class.dispatcher, obj, msg)
  40.   ENDIF
  41. ENDPROC NIL
  42.